# -*- coding: utf-8 -*-
import wave
import pylab as pl
import numpy as np
# 打开WAV文档
f = wave.open(r"D:\data\sound\\0292020052920164700229180667555590N_bad.wav", "rb")
# 读取格式信息
# (nchannels, sampwidth, framerate, nframes, comptype, compname)
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]
# 读取波形数据
str_data = f.readframes(nframes)

# for i in range(1000, 1500):
#     print(str_data[i])

f.close()
#将波形数据转换为数组
wave_data = np.fromstring(str_data, dtype=np.short)
print(wave_data)
wave_data.shape = -1, 2
wave_data = wave_data.T
print(wave_data)
time = np.arange(0, nframes) * (1.0 / framerate)
# 绘制波形

len_time = int(len(time)/2)
time = time[0:len_time]
pl.subplot(211)
pl.plot(time, wave_data[0])
pl.subplot(212)
pl.plot(time, wave_data[1], c="r")
pl.xlabel("time (seconds)")

pl.show()
